package com.kaifamiao.mybatis.dynamic.mapper;

import com.kaifamiao.mybatis.dynamic.entity.Customer;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface CustomerMapper {

    List<Customer> emailLike( String key );

    Customer findByEmailOrTel( @Param("email") String email,
                               @Param("tel") String tel );

    Customer find( Integer id );

    List<Customer> findAll();

    int persist( Customer c );

    // MyBatis 默认为 Set类型 参数指定的别名是 collection
    int persistBatch( Set<Customer> customers );

    int update( Customer c );

    int remove( Integer id );

    // MyBatis 默认为 List类型 参数指定的别名是 collection 和 list
    // 如果需要显示为参数设置别名可以通过 @Param 注解实现
    int removeBatch( List<Integer> ids );

}
